package tech.aistar.service;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import tech.aistar.entity.dynamic.ImgsStorage;
import tech.aistar.entity.trading.Goods;
import tech.aistar.entity.trading.GoodsDetails;
import tech.aistar.entity.trading.GoodsType;
import tech.aistar.entity.trading.Report;

import java.util.List;

/**
 * @author Ace
 * @version 1.0
 * @descriiption:本类用来演示:
 * @date 2019/9/28 0028.
 */
public interface IGoodsService {
    /**
     * 添加商品
     */
    void save(Goods goods);
    /**
     * 删----通过设置status的值达到删除某个数据,不用真的删除
     * @param id
     */
    void delById(Integer id);
    /**
     * 查----查所有商品
     */
    List<Goods> findAll1();
    /**
     * 查--根据id查
     */
    Goods findById(Integer id);
    /**
     * 类型+商品简介
     * 如果条件不存在,则查询所有的
     * 多条件组合查询...一句写不完,所以弄个PhoneMapper.xml
     * 进行模糊查询
     */
    List<Goods> findAllLike(@Param("goodsDetails") String goodsDetails, @Param("goodsTypeId") Integer goodsTypeId);
    /**
     * 改--修改商品信息
     */
    void Update(Goods goods);

    /**
     *多条件组合+分页查询
     * @param pageNum  当前页
     * @param pageSize  每页显示条数
     * @return
     */

    PageInfo<Goods> findAll2(String goodsName, Integer goodsTypeId, Integer pageNum, Integer pageSize);
/**
 * 根据id查询商品详情信息
 */
    GoodsDetails findBygoodsId(Integer goodsId);

    /**
     * 修改report举报数属性
     */
    void updateReport(Report report);
    /**
     * 根据uId查出
     */
    Report findReportByuId(String uId);
    /**
     * 根据用户id和商品id进行添加收藏
     */
    void addGoods(Integer id,Integer kindId);
    /**
     * 根据商品id在图片表里查出它的所有图片
     */
    List<ImgsStorage> fingimgByGoodsId(Integer goodsId);
}
